package v2template_request

import (
	"os"
	"private-go-sdk/http"
	"private-go-sdk/model/common"
	"encoding/json"
)

type V2TemplateAddRequest struct {
	// <ext>inner-type:Json<AddTemplateInfo>;core:true</ext> 【模板信息】模板信息
	TemplateInfo string `json:"templateInfo"`
	// <ext>core:true</ext> 【模板文件】模板文件 【作用】 传入需创建的模板文件 【传参】 1、若创建HTML模板的文件，仅支持传入txt、json格式的文件，若不传则直接创建为空白在线模板。 2、若创建PDF模板的文件，仅支持传入PDF格式的模板文件。 3、若创建Word模板，仅支持传入docx等格式的模板文件。 【特殊说明】 若模板类型为word、pdf模板时，模板文件必传
	TemplateFile *os.File `json:"templateFile,omitempty"`
	TemplateInfoObject *common.AddTemplateInfo `json:"templateInfoObject,omitempty"`
}
func (obj V2TemplateAddRequest) GetUrl() string {
    return "/v2/template/add"
}

func (obj V2TemplateAddRequest) GetHttpParameter() *http.HttpParameter {
    parameter := http.NewPostHttpParameter()
    parameter.AddFiles("templateFile", obj.TemplateFile)
    if obj.TemplateInfoObject != nil {
       jsonBytes, _ := json.Marshal(obj.TemplateInfoObject)
       parameter.AddParam("templateInfo", string(jsonBytes))
   } else {
       parameter.AddParam("templateInfo", obj.TemplateInfo)
   }
    return parameter
}
